# # 写一个学生类Student,  此类用于描述学生的信息.
# # 学生的信息有: 性名 name, 年龄 age, 成绩 score 默认为 0
# # 1. 为该类添加初始化方法，实现在创建学生对象时，自动设置性名，年龄和成绩 属性
# # 2. 添加  set_score 方法对对象修该成绩信息
# # 3. 添加 show_info 方法打印学生的信息
# # 4. 创建列表 student_list，用于记录此学校所有学生的信息.
# class Student:
#     ...
#
# student_list = []
# student_list.append(Student('小张', 20, 98))
# student_list.append(Student('小李', 19, 88))
# student_list.append(Student('小王', 21))
# student_list[2].set_score(70)
# for stu in student_list:
#     stu.show_info()
#


# 写一个学生类Student,  此类用于描述学生的信息.
# 学生的信息有: 性名 name, 年龄 age, 成绩 score 默认为 0
# 1. 为该类添加初始化方法，实现在创建学生对象时，自动设置性名，年龄和成绩 属性
# 2. 添加  set_score 方法对对象修该成绩信息
# 3. 添加 show_info 方法打印学生的信息
# 4. 创建列表 student_list，用于记录此学校所有学生的信息.
class Student:
    def __init__(self, name, age, score=0):
        self.name, self.age, self.score = name, age, score
    def set_score(self, score):
        if score < 0 or score > 100:
            print('设置成绩失败！')
            return
        self.score = score
    def show_info(self):
        print(f'{self.age}的{self.name},成绩是{self.score}')

student_list = []
student_list.append(Student('小张', 20, 98))
student_list.append(Student('小李', 19, 88))
student_list.append(Student('小王', 21))
student_list[2].set_score(70)  # 此种设置成绩的方法比较好
# student_list[2].score = 70 # 不推荐
for stu in student_list:
    stu.show_info()


